﻿using System;
using System.Configuration;
using System.Windows.Forms;
using Aspose.Email.Mail;
using ContractManager.Common.Class;
using DevExpress.XtraEditors;

namespace ContractManager.Common.FormBase
{
    public partial class FrmMachineCode : XtraForm
    {
        #region "Form Construction"

        public FrmMachineCode()
        {
            InitializeComponent();
        }

        #endregion

        #region "Form Event"

        private void frmMachineCode_Load(object sender, EventArgs e)
        {
            txtMachineCode.Text = ClsVariable.StrMachineCode;
        }

        #endregion

        #region "Button Event"

        private void btnOK_Click(object sender, EventArgs e)
        {
            string strError = "";
            bool ret = ClsVariable.CheckLicense(txtActivateCode.Text, ref strError);
            if (ret)
            {
                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                config.AppSettings.Settings["ActivateCode"].Value = txtActivateCode.Text;
                config.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection("appSettings");
                Close();
            }
            else
            {
                XtraMessageBox.Show("Mã xác thực không đúng. Vui lòng thử mã xác thực khác.", "Thông báo",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            string machineName = Environment.MachineName;
            const string msgTo = "duyhungb5@gmail.com";
            const string msgTo2 = "daoascom@gmail.com";
            const string msgFrom = "hungnd@vssd.com.vn";

            var client = new SmtpClient("smtp.gmail.com")
            {
                Username = "hungnd@vssd.com.vn",
                Password = "NguyenHung1984",
                Port = 587,
                SecurityMode = SmtpSslSecurityMode.Explicit,
                EnableSsl = true
            };
            // Set the Gmail password
            // Enable SSL

            var msg = new MailMessage {From = new MailAddress(msgFrom)};
            msg.To.Add(new MailAddress(msgTo));
            msg.To.Add(new MailAddress(msgTo2));

            msg.Subject = "Yêu cầu mã kích hoạt phần mềm Quản lý hợp đồng";
            msg.Priority = MailPriority.High;
            msg.TextBody = String.Format("Tên máy: {0}; Mã máy: {1}", machineName, txtMachineCode.Text);
            msg.HtmlBody = String.Format("<bold>Tên máy: {0}; Mã máy: {1}</bold>", machineName, txtMachineCode.Text);

            try
            {
                client.Send(msg);
                XtraMessageBox.Show("Yêu cầu đã được gửi", "Thông báo");
            }

            catch (Exception ex)
            {
                XtraMessageBox.Show("Có lỗi xảy ra trong quá trình gửi yêu cầu kích hoạt : " + ex.Message);
            }
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            Close();
        }

        #endregion
    }
}